<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        .box {
            position: relative;
            width: 400px;
            border-bottom: 1px solid #ccc;
            margin: 100px auto;
        }
        
        .box input {
            width: 350px;
            height: 30px;
            border: 0;
            /* 无轮廓 */
            outline: none;
        }
        
        .box img {
            width: 24px;
            position: absolute;
            /* 子绝父相 */
            top: 5px;
            right: 5px;
        }
    </style>
</head>

<body>
    <!-- 要求：点击按钮将密码框切换为文本框，并可以查看密码明文 -->
    <div class="box">
        <label for="">
            <img src="images/close.png" alt="">
        </label>
        <input type="password">
    </div>
    <script>
        //1.获取元素
        var img = document.querySelector('img');
        var input = document.querySelector('input');
        //2.注册事件 处理程序
        //记住：通过一个变量来使实现显示隐藏效果
        //核心思路：
        // 利用flag变量来判断flag的值，如果是0就切换为文本框，flag 设置为1，如果是1就切换为密码框，flag设置为1
        var flag = 0;
        img.onclick = function() {
            //点击一次之后 flag一定要发生变化
            if (flag == 0) { //判断条件
                input.type = 'text';
                img.src = 'images/open.png';
                flag = 1; //赋值操作
            } else {
                input.type = 'password';
                img.src = 'images/close.png';
                flag = 0;
            }

        }
    </script>
</body>

</html>